#include "cocos2d.h"
#include "cocos-ext.h"

using namespace cocos2d;
using namespace cocos2d::extension;
class MyCCTableView : public CCTableView, public CCTableViewDataSource, public CCTableViewDelegate{
public:
  static MyCCTableView* create(CCScrollViewDirection direct, CCSize size, CCArray *items);
  MyCCTableView(CCArray *items);
  ~MyCCTableView();
  //CCTableView* getTableView();
  void setItems(CCArray *items); 
  void setDatas(CCArray *items); 
  virtual CCSize cellSizeForTable(CCTableView *table);
  virtual unsigned int numberOfCellsInTableView(CCTableView *table);
  virtual CCTableViewCell* tableCellAtIndex(CCTableView *table, unsigned int idx);
  
  virtual void scrollViewDidScroll(CCScrollView* view);// {CCTableView::scrollViewDidScroll(view);}
  virtual void scrollViewDidZoom(CCScrollView* view) {CCTableView::scrollViewDidZoom(view);}
  virtual void tableCellTouched(CCTableView* table, CCTableViewCell* cell){}
  
  void setBarSpriteByName(const char* name);  
  void onMoveEnd(CCNode* sender);
  void onTimer(float t);
  void setBarSprite(const char* spriteName);
  CCSprite* getBarSprite(){return barSprite_;}
  CCSize getItemSize(){return itemSize_;}
private:
  //CCTableView *tableView_;
  CCArray *items_;
  CCArray *cells_;
  CCSprite *barSprite_;
  std::string spriteName_;
  bool isTimer;
  int oldX_;
  int oldY_;
  CCSize itemSize_;
};

int tolua_Cocos2d_CCTableView_create(lua_State* tolua_S);
int tolua_Cocos2d_CCTableView_cellAtIndex(lua_State* tolua_S);
int tolua_Cocos2d_CCTableView_setBarSpriteByName(lua_State* tolua_S);
int tolua_Cocos2d_CCTableView_setDatas(lua_State* tolua_S);
int tolua_Cocos2d_CCTableView_getItemSize(lua_State* tolua_S);
